• File: create_index.txt
  • Full Path: C:/htdocs/reeft_gps_test/REEFTintegrationLog/help_tools/create_index.txt
  • Date Modified: 05/30/2025 8:17 AM
  • File size: 3.76 KB
  • MIME-type: text/plain
  • Charset: utf-8
EXPLAIN QUERY PLAN 

=================================================================

PRAGMA foreign_keys = 0;

CREATE TABLE sqlitestudio_temp_table AS SELECT *
                                          FROM main_log;

DROP TABLE main_log;

CREATE TABLE main_log (
    pk_key    INTEGER  PRIMARY KEY
                       NOT NULL,
    timeStamp DATETIME NOT NULL
                       DEFAULT (CURRENT_TIMESTAMP),
    logType   TEXT,
    logCode   TEXT,
    logPgm    TEXT,
    dataLine  TEXT,
    clientID  TEXT
);

INSERT INTO main_log (
                         pk_key,
                         timeStamp,
                         logType,
                         logCode,
                         logPgm,
                         dataLine,
                         clientID
                     )
                     SELECT pk_key,
                            timeStamp,
                            logType,
                            logCode,
                            logPgm,
                            dataLine,
                            clientID
                       FROM sqlitestudio_temp_table;

DROP TABLE sqlitestudio_temp_table;

PRAGMA foreign_keys = 1;


=================================================================

CREATE INDEX mainLog_index01 ON main_log (
    timeStamp ASC,
    pk_key ASC
);

CREATE INDEX mainLog_index02 ON main_log (
    timeStamp ASC,
    logType ASC,
    pk_key ASC
);

CREATE INDEX mainLog_index03 ON main_log (
    timeStamp ASC,
    logCode ASC,
    pk_key ASC
);

CREATE INDEX mainLog_index04 ON main_log (
    timeStamp ASC,
    logPgm ASC,
    pk_key ASC
);


CREATE INDEX mainLog_index05 ON main_log (
    timeStamp ASC,
    dataline,
    pk_key ASC
);


=================================================================


CREATE INDEX mainLog_index02 ON main_log (
    timeStamp DESC,
    pk_key ASC
);




CREATE INDEX mainLog_index04 ON main_log (
    logType DESC,
    pk_key ASC
);



CREATE UNIQUE INDEX mainLog_index06 ON main_log (
    logCode DESC,
    pk_key ASC
);


CREATE UNIQUE INDEX mainLog_index08 ON main_log (
    logPgm DESC,
    pk_key ASC
);


CREATE INDEX mainLog_index09 ON main_log (
    timeStamp ASC,
    logType ASC, 
    pk_key ASC
);


=================================================================

CREATE TABLE recordCounter (
    pk_counter INTEGER PRIMARY KEY AUTOINCREMENT
                       NOT NULL,
    tableName  TEXT,
    tableCount INTEGER
);

INSERT INTO recordCounter VALUES ( 1, 'main_Log',  (SELECT COUNT(*) FROM main_log));

CREATE TRIGGER trg_main_Log_insert
         AFTER INSERT
            ON main_Log
BEGIN
    UPDATE recordCounter
       SET tableCount = tableCount + 1
     WHERE tableName = 'main_Log';
END;

CREATE TRIGGER trg_main_Log_delete
         AFTER DELETE
            ON main_Log
BEGIN
    UPDATE recordCounter
       SET tableCount = tableCount - 1
     WHERE tableName = 'main_Log';
END;


=================================================================

CREATE TABLE recordCounter (
    pk_counter INTEGER PRIMARY KEY AUTOINCREMENT
                       NOT NULL,
    tableName  TEXT,
    tableCount INTEGER
);

INSERT INTO recordCounter VALUES ( 1, 'integration_Log',  (SELECT COUNT(*) FROM integration_log));

CREATE TRIGGER trg_integration_Log_insert
         AFTER INSERT
            ON integration_Log
BEGIN
    UPDATE recordCounter
       SET tableCount = tableCount + 1
     WHERE tableName = 'integration_Log';
END;

CREATE TRIGGER trg_integration_Log_delete
         AFTER DELETE
            ON integration_Log
BEGIN
    UPDATE recordCounter
       SET tableCount = tableCount - 1
     WHERE tableName = 'integration_Log';
END;